home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-02
/
oop_tp55.zip
/
LIST5_7.PAS
< prev
next >
Wrap
Pascal/Delphi Source File
|
1990-02-01
|
1KB
|
51 lines
program Listing5_7;
uses FrenchVb; { Listing5_6 converted to a unit. }
type
IrregularVerb = object( Verb )
PresentTense: Ending;
constructor Init( Inf, FPSin, SPSin, TPSin,
FPPlu, SPPlu, TPPlu : string );
function VerbForm( E : Person ) : string; virtual;
end;
constructor IrregularVerb.Init;
begin
Verb.Init( 'etre' );
PresentTense[fps] := FPSin;
PresentTense[sps] := SPSin;
PresentTense[tps] := TPSin;
PresentTense[fpp] := FPPlu;
PresentTense[spp] := SPPlu;
PresentTense[tpp] := TPPlu;
end;
function IrregularVerb.VerbForm( E : Person ) : string;
begin
VerbForm := PresentTense[ E ];
end;
var
repondre : RE_Verb;
finir : IR_Verb;
manquer : ER_Verb;
etre : IrregularVerb;
begin
repondre.Init( 'repondre' );
finir.Init( 'finir' );
manquer.Init( 'manquer' );
etre.Init( 'etre', 'suis', 'es', 'est', 'sommes', 'etes', 'sont');
{ ^ ^ }
{ 'e' with caret beneath is ASCII 136 }
repondre.ConjugateVerb;
finir.ConjugateVerb;
manquer.ConjugateVerb;
etre.ConjugateVerb;
end.
{ Listing 5-7 }